package com.cloud.weixin.project.model.dto;

import com.cloud.common.core.model.supers.Convert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 微信自定义菜单
 * </p>
 *
 * @author Sam
 * @since 2021-04-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "WxMenuDTO对象", description = "微信自定义菜单")
public class WxMenuDTO extends Convert {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "菜单ID（click、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、pic_weixin、location_select：保存key）")
    private String id;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "逻辑删除标记（0：显示；1：隐藏）")
    private Integer status;

    @ApiModelProperty(value = "排序值")
    private Integer sort;

    @ApiModelProperty(value = "父菜单ID")
    private String parentId;

    @ApiModelProperty(value = "菜单类型click、view、miniprogram、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、pic_weixin、location_select、media_id、view_limited等")
    private String type;

    @ApiModelProperty(value = "菜单名")
    private String name;

    @ApiModelProperty(value = "view、miniprogram保存链接")
    private String url;

    @ApiModelProperty(value = "小程序的appid")
    private String maAppId;

    @ApiModelProperty(value = "小程序的页面路径")
    private String maPagePath;

    @ApiModelProperty(value = "回复消息类型（text：文本；image：图片；voice：语音；video：视频；music：音乐；news：图文）")
    private String repType;

    @ApiModelProperty(value = "Text:保存文字")
    private String repContent;

    @ApiModelProperty(value = "imge、voice、news、video：mediaID")
    private String repMediaId;

    @ApiModelProperty(value = "素材名、视频和音乐的标题")
    private String repName;

    @ApiModelProperty(value = "视频和音乐的描述")
    private String repDesc;

    @ApiModelProperty(value = "链接")
    private String repUrl;

    @ApiModelProperty(value = "高质量链接")
    private String repHqUrl;

    @ApiModelProperty(value = "缩略图的媒体id")
    private String repThumbMediaId;

    @ApiModelProperty(value = "缩略图url")
    private String repThumbUrl;

    @ApiModelProperty(value = "图文消息的内容")
    private String content;

    /**
     * 表外字段
     */
    @ApiModelProperty(value = "子button")
    private List<MenuButton> sub_button = new ArrayList();


}
